Event planning within social networks

ABSTRACT

Social networks often permit users to create events, and to invite one or more contacts of the user to as guests. However, conventional social networks may not sufficiently facilitate users in planning an event for which one or more event details are to be determined. According to the techniques presented herein, a social network may permit users to create an event plan, and may permit guests to submit event plan suggestions for various event plan details of the event plan. The social network may also assist the guests in selecting among the event plan suggestions, e.g., by accepting and tallying votes by the guests among alternative event plan suggestions, by providing event plan suggestions based on search engine results, and by presenting maps of event plan suggestions involving locations. The social network may also accept RSVPs, and may notify guests once a guest arrives at a location of the event.

BACKGROUND

Within the field of computing, many scenarios involve a social network,such as a database of users and associations established thereamong torepresent various types of relationships (e.g., familial relations,friendships, and academic, professional, and business relationships).For example, a user in a social network may establish a set of contacts,such as individuals with whom the user has a relationship, and maygenerate content items, such as personal status messages, privatemessages, photos, links to other resources such as websites, andcommentaries) that may be accessible by such contacts, who may submitcomments and relies to such content items.

Within a social network, a set of users may create an event. Forexample, a user may create a listing for an event, such as a party,occurring at a specific date, time, and location, and may providedetails about the event. Other users, such as contacts of the user, maycomment on the event, such as an intent of a guest to attend or skip theevent. The social network may therefore facilitate the advertising ofthe event to the contacts of a user and communication among guests aboutthe event and the set of potential attendees.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key factors oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter.

While contemporary social networks may facilitate a user in advertisingan event, contemporary social networks do not significantly assist a setof users in deciding on the details of an event. For example, an eventmay have many details, such as a time, a place, an event location, and aset of activities to be performed. The social network may permit a userwho is responsible for the event (such as the creator of the event) tospecify the details, and to alter the details based on changingcircumstances, but may not promote the decisions of guests in proposing,considering, and selecting the details of the event. For example, acontemporary social network may permit a user to propose a group dinnerat a particular date, time, and restaurant, but may not permit the userto propose the idea of a group dinner with some or all undeterminedevent details for which guests may propose suggestions, such as aproposed date or time, a proposed restaurant, or a restaurant type. Thatis, social networks may be proficient at allowing a user to advertise anevent for which event details have been settled, but may not beproficient at allowing a set of users to plan an event together.

Presented herein are techniques for configuring a device within a socialnetwork to facilitate a set of users, such as a user and a set ofcontacts, to plan an event together. According to these techniques, auser of the social network may propose an event plan, such as a sharedmeal, a party, or a trip, and a set of contacts within the socialnetwork to be invited to attend the event. The social network may thenextend invitations to the contacts, and may accept and store from theguests (including the user who created the event and the contacts whohave been invited to attend) event plan suggestions for various detailsof the event plan, such as a date, time, duration, location, otherindividuals to invite, and activities to be performed. The socialnetwork may then present the event plan (including the event plansuggestions for various event plan details) to a guest of the event planwho wishes to view the current event plan suggestions, to participate inthe planning of the event, and/or to consider participating in theevent. Guests may also contribute event plan suggestions such as searchresults generated by a search engine, such as links to menus ofrestaurants in the area of the guests and a map illustrating thelocations of restaurants suggested by the guests. The social network mayalso facilitate the planning of the event, e.g., by providing amechanism for allowing guests to vote on various proposals in order toreach a consensus on event plan suggestions for various event plandetails, and/or by recommending particular event plan suggestions (e.g.,comparing user ratings of respective restaurants suggested for a mealshared among the guests, and choosing a restaurant having a suitablyhigh user rating). In this manner, the social network may assist in thesuggestion, consideration, and selection of event plan details of theevent plan among the users of the social network.

To the accomplishment of the foregoing and related ends, the followingdescription and annexed drawings set forth certain illustrative aspectsand implementations. These are indicative of but a few of the variousways in which one or more aspects may be employed. Other aspects,advantages, and novel features of the disclosure will become apparentfrom the following detailed description when considered in conjunctionwith the annexed drawings.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of an exemplary scenario featuring an eventfor a group of users of a social network.

FIG. 2 is an illustration of an exemplary scenario featuring an eventplan formulated among a set of users of a social network in accordancewith the techniques presented herein.

FIG. 3 is a flow chart illustrating an exemplary method of presenting anevent plan to a user of a social network.

FIG. 4 is a component block diagram illustrating an exemplary system forpresenting an event plan to a user of a social network.

FIG. 5 is an illustration of an exemplary computer-readable mediumcomprising processor-executable instructions configured to embody one ormore of the provisions set forth herein.

FIG. 6 is an illustration of an exemplary scenario featuring an eventplan based on an event plan template comprising event plan details forwhich guests of the event plan submit event plan suggestions.

FIG. 7 is an illustration of an exemplary scenario featuring an eventplan having event plan suggestions associated with search engineresults.

FIG. 8 is an illustration of an exemplary scenario featuring guests ofan event plan voting among alternative event plan suggestions andrecommendations among the alternative event plan suggestions by a searchengine.

FIG. 9 is an illustration of an exemplary presentation of an event planfeaturing a map depiction of locations.

FIG. 10 is an illustration of an exemplary presentation of an event planfeaturing a visual depiction of locations.

FIG. 11 is an illustration of an exemplary scenario featuring additionalfeatures that may be included in a presentation of an event plan,including attendance indicators, comments, and a route for a guest.

FIG. 12 is an illustration of an exemplary scenario featuring ageofencing and reporting of presence indicators for various guests of anevent.

FIG. 13 is an illustration of an exemplary computing environment whereinone or more of the provisions set forth herein may be implemented.

DETAILED DESCRIPTION

The claimed subject matter is now described with reference to thedrawings, wherein like reference numerals are used to refer to likeelements throughout. In the following description, for purposes ofexplanation, numerous specific details are set forth in order to providea thorough understanding of the claimed subject matter. It may beevident, however, that the claimed subject matter may be practicedwithout these specific details. In other instances, structures anddevices are shown in block diagram form in order to facilitatedescribing the claimed subject matter.

Within the field of computing, many scenarios involve a social networkcomprising a representation of a set of individuals and relationshipsthereamong. Such relationships may represent, e.g., familial relations,friendships, shared membership in a group or activity, or academic orprofessional relationships. The social network may permit a user toestablish a set of contacts with whom the individual shares arelationship. Each user may then create a set of content items, such aspersonal status messages, commentaries on particular topics, links toother items of interest (such as hyperlinks to web pages and otherresources), media objects such as images, and messages to one or morecontacts. These contact items may be viewed by the contacts of the user,who may respond with other content items (e.g., comments on items postedby the user). The social network may facilitate these interactions bypromoting the establishment of relationships, exchanging messages andnotifications, and extending access to a user's content items for thecontacts of the user while restricting access by other individuals inorder to protect the privacy of the user.

Within a social network, a set of users may wish to create an event.This event may represent, e.g., an offline meeting, an online activity,a memorable occasion such as a holiday, or an activity or concept towhich each guest of the event may attend on a particular day and/ortime. A user of the social network may therefore create an event withinthe social network, e.g., by posting a set of event details such as thedate, time, location, and a description of the intent of the event andthe activities to be performed there. This event may be viewable by thecontacts of the user, who may submit event attendance indicators (e.g.,RSVP indicators) to indicate whether or not each contact intends toattend the event. The guests may also submit comments relating to theevent.

FIG. 1 presents an exemplary scenario 10 featuring a social network 12comprising a set of individuals, including a user 14 who has establishedrelationships 18 with a set of contacts 16. Within the social network,the user 14 may create an event 20, such as a holiday party, andfeaturing a set of event details 22 that describe various aspects of theevent 20 (e.g., a title, a date including a time, and an eventlocation). For some or all of the contacts 16 of the user 14, the user14 may send an invitation 24 to the event 20. In some such scenarios 10,the social network 12 may restrict the event 20 to contacts 16 whom theuser 14 has invited, and may also permit the contacts 16 to invite otherindividuals represented in the social network, but in other suchscenarios 10, the social network 12 may share the event 20 with anyindividual who is represented within the social network 12. In eithercase, the user 14 and his or her contacts 16 who have been invited tothe event 20 (the “guests” of the event 20) may view the event details22 of the event 20, may submit comments regarding the event 20, and/ormay submit an attendance indicator to indicate whether or not the guestintends to attend the event 20.

While the exemplary scenario 10 of FIG. 1 may be useful for representingan event 20 and extending access to the event 20 to a set of guests,this model for events 20 within social networks 12 may be less helpfulfor the planning of events 20. That is, the exemplary scenario 10 ofFIG. 1 may be advantageous for presenting events 20 for which the eventdetails 22 are well-settled, and may permit the user 14 who created theevent 20 to edit the event details 22 after creation; however, thismodel for events 20 is not particularly effective for assisting theguests in choosing the event details 22 of the event 20. For example, ifthe user 14 proposes a general activity to be shared with a set ofcontacts 16, such as a shared dinner at a restaurant, the social network12 may accept a set of event details 22 specified by the user 14, andmay permit the user 14 to change such event details 22 at a later date,but the social network 12 does not assist the guests in choosing eventdetails 22 of this event 20, such as the date including the time and theselection of a restaurant. The guests might discuss the event details 22using the social network 12 in an unstructured manner (e.g., byexchanging various comments that may be associated and displayed withthe event 20), and if the guests reach a consensus about an event detail22, the social network 12 may permit the user 14 who created the event20 to change the updated event details 22. However, in many conventionalsocial networks 12, this process is unstructured and mainly implementedby the user 14 who created the event 20, because the social network 12does not facilitate the selection of event details 22 among the guestsof the event 20.

Presented herein are techniques for providing a social network 12 (suchas a configuration of one or more servers that store and present thedata comprising the social network 12) that facilitates event planningamong a set of users 14. In accordance with these techniques, a socialnetwork 12 may permit a user 14 to create an event plan, comprising aset of event details to be determined by the guests of the event 20. Forexample, in contract with the exemplary scenario 10 of FIG. 1 where theuser 14 specifies the event details 22 (e.g., the event 20 is to occurat a particular date, time, and location), a user 20 may instead bepermitted to specify an event plan comprising a set of event details tobe determined, such as the date and time of the event 20 and thelocation of the event 20. The user 14 may then invite a set of contacts16, and the user 14 and contacts 16 (together comprising the “guests” ofthe event plan) may submit event plan suggestions to the social network12 to suggest respective event details 22 of the event 20. The socialnetwork 12 may track the event plan suggestions, and may present theevent plan suggestions to the guests upon request. The social network 12may also facilitate the selection of a particular event plan suggestionamong a set of alternatives, e.g., by permitting guests to vote amongthe event plan suggestions and by presenting (as an event detail 22) theevent plan suggestion having the highest number of votes.

FIG. 2 presents an exemplary scenario 30 featuring a social network 12that facilitates the creation of an event plan 34 among a set of users14 in accordance with the techniques presented herein. In this exemplaryscenario 30, a user 14 may create an event plan 34 for an event 20 forwhich event details 22 are to be determined, such as the date and timeof the event 20 and the location of the event 20. In contrast with theexemplary scenario 10 of FIG. 1, wherein the user 14 specifiesparticular event details 22 of the event 20 (e.g., “I propose a groupdinner at a particular restaurant on a particular date”), in theexemplary scenario 30 of FIG. 2, the user 12 specifies that the guests32 of the event 20 may together decide on the event details 22. Once oneor more contacts 16 have been selected by the user 14 to join the eventplan 34, the social network 12 may invite the contacts 16 to join theevent plan 34 as guests 32 (e.g., by sending to respective contact 16 anotification of the creation of the event plan 34 and a link to a webpage where the event plan 34 may be accessed). The guests 32 (includingthe user 14 who created the event plan 34) may submit a set of eventplan suggestions 36 that may be tracked by the social network 14. Forexample, a first guest 32 may submit an event plan suggestion 36 to hostthe dinner on a particular date (e.g., a Friday evening), while a secondguest 32 may submit an event plan suggestion 36 to host the dinner on adifferent date (e.g., the following Saturday evening). Event plansuggestions 36 for two or more locations (such as restaurants) where theevent 20 may be held may also be submitted by different guests 32, oreven by the same guest 32 (e.g., alternative suggestions for attendingtwo different restaurants). The social network 14 may track these eventplan suggestions 36 for the event 34, and may present the entire set ofevent plan suggestions 36 in order to inform a guest 32 of optional andpossibly alternative event details 22 for the event 20 that are underconsideration. The social network 14 may also assist the guests 32 inreaching a consensus on one or more event plan suggestions 36. Forexample, the social network 14 may allow guests 32 to vote on variousevent plan suggestions 36, may identify an event plan suggestion 36having the highest number of votes, and may finalize particular eventplan suggestions 36 as event details 22 (e.g., upon receiving a majoritynumber of votes among the guests 32 for a particular event plansuggestion 36, or if only one event plan suggestion 32 is received for aparticular event detail 22). The social network 12 may then present theselected event plan suggestions 36 of the event plan 34 as the eventdetails 22 of the event 20. In this manner, the social network 12facilitates the guests 32 of the event in selecting the event details 22of the event 20 in accordance with the techniques presented herein.

FIG. 3 presents a first embodiment of these techniques, illustrated asan exemplary method 50 of presenting an event plan 34 to a user 14 of asocial network 12. The exemplary method 50 may be implemented, e.g., bystoring a set of instructions to be executed on a processor of a devicea data store (such as system RAM, a platter of a hard disk drive, asolid-state storage device, or a magnetic or optical disc). Theexemplary method 50 begins at 52 and involves executing 54 on theprocessor the instructions configured to implement the techniquespresented herein. In particular, the instructions are configured to,upon receiving from a user 14 a request to create an event plan 34including at least one contact 16 of the user 14 within the socialnetwork 12, invite 56 the at least one contact 16 to join the event plan34. The instructions are also configured to, upon receiving from a guest32 an event plan suggestion 36 for the event plan 34, associate 58 theevent plan suggestion 36 with the event plan 34 in the data store. Theinstructions are also configured to, upon receiving 60 from a guest 32 arequest to present the event plan 34, retrieve 62 from the data storethe event plan suggestions 36 associated with the event plan 34, andpresent 64 the event plan suggestions 36 to the guest.32. In thismanner, the exemplary method 50 implements the techniques presentedherein (as depicted in the exemplary scenario 30 of FIG. 3), and so endsat 66.

FIG. 4 presents a second embodiment of these techniques, illustrate asan exemplary system 76 configured to present event plans 34 to users 14of a social network 12. The exemplary system 76 may be implemented,e.g., as a software architecture comprising a set of interoperatingcomponents, where each component, comprising a set of softwareinstructions executed on a processor 74 of a device 72 (such as a serverof the social network 12), performs an aspect of the techniquespresented herein. The exemplary system 76 comprises a data store 78,which is configured to store the event plan 34 (including the event plandetails 36). The exemplary system 76 also comprises an event plancreating component 80, which is configured to, upon receiving from auser 14 a request to create an event plan 34 including at least onecontact 16 of the user 1 4within the social network 12, store the eventplan 34 in the data store 78 and invite the at least one contact 14 tojoin the event plan 34 as a guest 32. The exemplary system 76 alsocomprises an event plan suggestion receiving component 82, which isconfigured to, upon receiving from a guest 32 an event plan suggestion36 for the event plan 34, associate the event plan suggestion 36 withthe event plan 34 in the data store 78. The exemplary system 76 alsocomprises an event plan presenting component 84, which is configured to,upon receiving from a guest 32 a request to present the event plan 34,retrieve from the data store 78 the event plan suggestions 36 associatedwith the event plan 34, and present the event plan suggestions 36 to theguest.32 as an event plan presentation 42. In this manner, the exemplarysystem 76 facilitates the guests 32 of the event plan 34 in submittingevent plan suggestions 36 that may eventually comprise the event details22 of the event 20.

Still another embodiment involves a computer-readable medium comprisingprocessor-executable instructions configured to apply the techniquespresented herein. Such computer-readable media may include, e.g.,computer-readable storage media involving a tangible device, such as amemory semiconductor (e.g., a semiconductor utilizing static randomaccess memory (SRAM), dynamic random access memory (DRAM), and/orsynchronous dynamic random access memory (SDRAM) technologies), aplatter of a hard disk drive, a flash memory device, or a magnetic oroptical disc (such as a CD-R, DVD-R, or floppy disc), encoding a set ofcomputer-readable instructions that, when executed by a processor of adevice, cause the device to implement the techniques presented herein.Such computer-readable media may also include (as a class oftechnologies that are distinct from computer-readable storage media)various types of communications media, such as a signal that may bepropagated through various physical phenomena (e.g., an electromagneticsignal, a sound wave signal, or an optical signal) and in various wiredscenarios (e.g., via an Ethernet or fiber optic cable) and/or wirelessscenarios (e.g., a wireless local area network (WLAN) such as WiFi, apersonal area network (PAN) such as Bluetooth, or a cellular or radionetwork), and which encodes a set of computer-readable instructionsthat, when executed by a processor of a device, cause the device toimplement the techniques presented herein.

FIG. 5 presents a third embodiment 90 of these techniques, illustratedas an exemplary computer-readable storage medium 92 (e.g., a CD-R,DVD-R, or a platter of a hard disk drive), on which is encodedcomputer-readable data 94. This computer-readable data 94 in turncomprises a set of computer instructions 96 configured to operateaccording to the principles set forth herein. In one such embodiment,the processor-executable instructions 96 may be configured to perform amethod of presenting an event plan to a user of a social network, suchas the exemplary method 50 of FIG. 3. In another such embodiment, theprocessor-executable instructions 96 may be configured to implement asystem for presenting an event plan to a user of a social network, suchas the exemplary system 76 of FIG. 4. Some embodiments of thiscomputer-readable storage medium 90 may comprise a nontransitorycomputer-readable storage medium (e.g., a hard disk drive, an opticaldisc, or a flash memory device) that is configured to storeprocessor-executable instructions configured in this manner. Many suchcomputer-readable media may be devised by those of ordinary skill in theart that are configured to operate in accordance with the techniquespresented herein.

The techniques discussed herein may be devised with variations in manyaspects, and some variations may present additional advantages and/orreduce disadvantages with respect to other variations of these and othertechniques. Moreover, some variations may be implemented in combination,and some combinations may feature additional advantages and/or reduceddisadvantages through synergistic cooperation. The variations may beincorporated in various embodiments (e.g., the exemplary method 50 ofFIG. 3 and the exemplary system 76 of FIG. 4) to confer individualand/or synergistic advantages upon such embodiments.

A first aspect that may vary among embodiments of these techniquesrelates to the scenarios wherein such techniques may be utilized. As afirst example, these techniques may be applied to many types of socialnetworks 12, including social networks representing real-worldrelationships such as familial relations and friendships; academicsocial networks representing connections among students and teachers;professional social networks representing professional associationsamong colleagues; and themed social networks representing connectionsamong users 14 sharing an interest, such as participation in an onlinegame. As a second example of this first aspect, the event plan 34 may bepublic (viewable by any user 14 of the social network 12, and possiblyletting any such user 14 join the event plan 34 as a guest 32) and/orprivate (e.g., only accessible to guests 32 of the event plan 34). As athird example of this first aspect, these techniques may be utilized tofacilitate the planning of many types of events 20, such as real-worldmeetings in a particular location; a distributed activity taking placein various locations; a commemorative event, such as a holiday; or anonline activity. Those of ordinary skill in the art may devise manytypes of scenarios wherein the techniques presented herein may beutilized.

A second aspect that may vary among embodiments of these techniquesrelates to the creation of an event plan 34 by a user 14. As a firstexample, a user 14 may specify a completely empty event plan 34, simplyindicating that a particular set of guests 32 (including the user 14 anda designated set of contacts 16) may decide to participate in anactivity together. Alternatively, the user 14 may specify one or moreevent plan suggestions 36 while creating the event plan 34, e.g., someinitial suggestions for the event plan 34 that may be taken underconsideration by the guests 32.

As a second example of this second aspect, the user 14 creating theevent plan 34 may specify one or more event plan details for the eventplan 34. These event plan details may add some structure to the eventplan 34, such as particular types of event details 22 of the event 20that are to be determined by the guests 32 through the submission ofevent plan suggestions 36. Guests 32 may then submit event plansuggestions 36 relating to one or more event plan details of the eventplan 34. For example, a user 14 may create an event representing adinner to be shared among a group of contacts 16, and comprising a firstevent plan detail indicating a to-be-determined date and time of theevent 20; a second event plan detail indicating a to-be-determinedlocation of the event 20 (such as a restaurant); and a third event plandetail indicating a to-be-determined type of food to be consumed at theevent 20. Guests 32 may then submit event plan suggesting 36 relating toone or more of the event plan details of the event plan 34. Theinclusion of event plan details may therefore add structure to the eventplan 34, such that event plan suggestions 36 may be grouped andconsidered according to different event plan details (e.g., event plansuggestions 36 relating for the date of an event 20 may be grouped andconsidered together, and event plan suggestions 36 relating to an eventlocation of the event 20 may also be grouped and considered together).Such event plan details (representing various to-be-determined aspectsof an event 20) may be selected from a set of event plan detailsincluding an event title detail (e.g., an event type detail (e.g., thetype of event 20); an event guest detail (e.g., particular guests 32 tobe invited to the event 20 by the current guests 32); an event date timedetail (e.g., a date and time of the event 20); an event durationdetail; an event location detail (e.g., an area of town, or a generaltype of location where the event 20 may be held, such as a meal in aresidence, a picnic held in a park, or a meal at a restaurant); an eventvenue detail (e.g., a particular location where the event 20 is to beheld); and an event activity detail (e.g., a particular activity to beperformed by the guests 32 at the event 20).

An additional variation of this second example of this second aspectrelates to the use of event plan templates. For example, a deviceconfigured according to the techniques presented herein (such as aserver of a social network) may store one or more event plan templates,each of which may specify a particular set of event plan details forevent plans 34 of a particular event type. As one such example, thedevice may store a first event plan template for a shared meal among aset of friends, which may include such event plan details as a date, ageneral area for the meal (e.g., an area of a town where the friendsreside), a type of restaurant and/or cuisine, and a price range, and asecond plan event plan template for a party, which include such eventplan details as a date, a duration, a theme for the party, and the typesof activities to be performed at the party. When a user 14 creates anevent plan 34, the device may permit the user 14 to specify an eventtype, and may automatically associate with the event plan 34 a set ofevent plan details that are appropriate for the event plan 34 based onthe selected event type.

FIG. 6 presents an exemplary scenario 100 featuring event plan templates102 that may be used to facilitate the creation of event plans 34 ofparticular event types. In this exemplary scenario 100, a device storesa set of event plan templates 102 for various event types, such as arestaurant dinner, a trip to a movie theater, and a party. Each eventplan template 102 includes a set of event plan details 104 that aresuitable for events of the corresponding event type. When a user 14creates an event plan 34, the user 14 may specify an event type, and thedevice may select the corresponding event plan template 102 from whichthe event plan 34 may be created, thus automatically associating withthe event plan 34 a suitable set of event plan details 104 to bedetermined among the guests 32 of the event plan 34. For example, whenthe user 14 selects a “party” event type for a new event plan 34, thedevice may automatically select the event plan template 102 or the“party” event type, and based on this event plan template 102, mayinsert into the event plan 34 a set of event plan details 104 such as adate of the party, a party theme, and one or more activities to beperformed at the party. Additionally, the guests 32 of the event plan 34may submit event plan suggestions 36 associated with one or more ofthese event plan details 104. For example, a first guest 32 (such as theuser 14 who created the event plan 34) may submit an event plansuggestion 36 associated with the event plan detail 104 representing thedate and time of the party; and other guests 32 may submit event plansuggestions 36 associated with the event plan detail 104 representingactivities to be performed at the party. Multiple event plan suggestions36 may be associated with a particular event plan 34 in either aninclusive manner (e.g., multiple activities may be performed at theevent 20) or an exclusive manner (e.g., alternative event plansuggestions 36 for the date and time of the event 20). In this manner,event plan details 104 may be utilized to structure the event plan 34and the event plan suggestions 36, and event plan templates 102 may beutilized to provide a suitable set of event plan details 104 for anevent plan 34 of a particular event type.

As a third example of this second aspect, the user 14 may specifycontacts 16 to join an event plan 34 in many ways. For example, the user14 may specify that all such users 14 may be invited as guests 32, ormay designate a particular subset of contacts 16 among the entire set ofcontacts 16 of the user 14 within the social network 12. Suchdesignation may be ad hoc (e.g., selected by the user 14 while creatingthe event plan 34) or may be based on one or more contact groups (e.g.,a previously selected subset of contacts 16). The user 14 may alsospecify particular criteria for inviting guests 32 to join the eventplan 34; e.g., the user 14 may invite as guests 32 all contacts 16located within a specified proximity of the user 14, such as thosecurrently located in the same city. Those of ordinary skill in the artmay devise many ways of allowing users 14 to create event plans 34 andinvite guests 32 while implementing the techniques presented herein.

A third aspect that may vary among embodiments of these techniquesrelates to the event plan suggestions 36 submitted by various guests 32of an event plan 34. As a first example, the event plan suggestions 36may comprise many types of items, such as unformatted text, formatteddata types (e.g., a date primitive value), a media object such as animage, or a hyperlink to a resource (such as a website) that featuresthe content of the suggestion, such as a website of a restaurant wherethe guest 32 suggests having dinner.

FIG. 7 presents a particular variation of this first example of thisthird aspect, where event plan suggestions 36 may include search queries114 to be applied to a search engine 112. For example, in formulating aparticular event plan suggestion 36 for an event plan detail 104, aguest 32 may generate a search query 114 to be submitted to a search112, and resulting in a search result set 116 comprising one or moresearch results 118 (e.g., a set of hyperlinks to web pages matching theterms of the search query 114). The guest 32 may then have to review thesearch results 118 and summarize the contents of the informationpresented therein (e.g., “I read that this restaurant just opened intown and has great food”) in order to submit an event plan suggestion36. However, it may be advantageous to allow the user 12 to submit thesearch query 114 to the social network 12 as an event plan suggestion 36for the event plan 34. For example, the entire search query 114 may besubmitted, and when a guest 32 requests to view the event plan 34, thesocial network 12 may execute the search query 114 on the search engine112 and may include the search results 118 generated thereby in theevent plan suggestions 36 presented with the event plan 34.Alternatively, the guest 32 may be permitted to select one or moresearch results 118 as event plan suggestions 36, and social network 12may include the selected search results 118 in the set of event plansuggestions 36 presented with the event plan 34. In this manner, thesocial network 12 may directly incorporate search results 118 generatedby search queries 114 formulated by guests 32 while seeking event plansuggestions 36 for the event plan 34. Moreover, if the event plan 34includes a set of event plan details 104, the guest 32 may submit aparticular search query 114 and/or search results 118 as an event plansuggestion 36 associated with one or more event plan details 104. Forexample, for an event plan 34 including “dinner and drinks,” a guest 32may submit a search query 114 and/or a search result 118 associated witha first event plan detail 104 involving an event location for sharing adinner, and/or associated with a second event plan detail 104 involvingan event location for having drinks after dinner.

As yet another variation of this first example of this third aspect, thesocial network 12 may automatically generate one or more search queries114, and may automatically include one or more search results 118 asevent plan suggestions 36 recommended by the social network 12. Forexample, if the event plan suggestions 36 indicate that the guests 32are planning to have dinner in a particular area of a city on aparticular date and wish to have a particular type of cuisine, thesocial network 12 may formulate an appropriate search query 114 forrestaurants matching these criteria, and may include the search results118 as event plan recommendations 36 in presentations of the event pan34.

As a second example of this third aspect, a guest 32 of an event plan 34may submit an event plan suggestion 36 as an alternative event plansuggestion for a particular event plan detail 104. For example, guests32 may submit several event plan suggestions 36 for a particular eventplan detail 104 that may be satisfied only by a limited number of eventplan suggestions 36 (e.g., the guests 32 may have to choose one amongseveral event plan suggestions 36 associated with a “date” event plandetail 104, and a subset of event plan suggestions 36 associated with an“activity” event plan detail 104 for an event that may only be longenough to include a few activities). Therefore, one or more event plansuggestions 36 may be regarded as alternative event plan suggestions 36that are mutually exclusive with respect to a particular event plandetail 104. The social network 12 may denote the mutual exclusivity oftwo or more alternative event plan suggestions in presentations of theevent plan 34 to guests 32 in order to encourage a selection thereamong.

In some variations of this second example of this third aspect, thesocial network 12 may assist the guests 32 in selecting among thealternative event plan suggestions. As a first example, guests 32 maysubmit alternative event plan suggestion votes that indicate apreference for a first alternative event plan suggestion over a secondalternative event plan suggestion. The social network 12 may receivealternative event plan suggestion votes, and may store the votes in thedata store 78, and may select and present a selected event plansuggestion based on the alternative event plan suggestion votes storedin the data store 78 (e.g., the alternative event plan suggestion havingthe highest number of votes, or all alternative event plan suggestionshaving a sufficiently high number of votes). As a second example, thesocial network 12 may identify a recommended alternative event plansuggestion; e.g., the event plan suggestions 36 offered by guests 32 fora shared meal may include a first restaurant that has been highly ratedby patrons and a second restaurant that has been poorly rated bypatrons, and the social network 12 may include such recommendations asrecommended alternative event plan suggestions in presentations of theevent plan 34.

FIG. 8 presents an exemplary scenario 120 featuring a social network 12configured to facilitate a selection among alternative event plansuggestions. This exemplary scenario illustrates a set of event plansuggestions 36 for various event plan details 104 of an event plan 34,where, for a particular event plan detail 104 (the location of a dinnerevent), a set of alternative event plan suggestions 122 have beensubmitted by various guests 32. In order to facilitate a selection amongthese alternative event plan suggestions 122, the social network 12 mayreceive and store alternative event plan suggestion votes 124 fromvarious guests 32, and may include the alternative event plan suggestionvotes 124 for respective alternative event plan suggestions 122 in eventplan presentations 42 of the event plan 34. Additionally, the socialnetwork 12 may utilize a search engine 112 to identify a set ofrecommendations 128, such as ratings of the respective alternative eventplan suggestions 122 that may have been submitted by other individuals.These recommendations 128 may also be incorporated into the event planpresentations 42 of the event plan 34 to facilitate the selection by theguests 32 of a selected event plan suggestions among the alternativeevent plan suggestions 122. Those of ordinary skill in the art maydevise many ways of configuring the social network 12 to accept eventplan suggestions 36 for an event plan 34 while implementing thetechniques presented herein.

A fourth aspect that may vary among embodiments of these techniquesrelates to the presentation of an event plan 34 to a guest 32. As afirst example, in addition to the event plan suggestions 36, the eventplan presentation 42 may explicitly or implicitly indicate the eventplan details 104 of the event plan 34, and may also explicitly orimplicitly indicate the association of such event plan details 104 withone or more event plan suggestions 36. The event plan presentation 42may also include an indication that one or more event plan suggestions36 are alternative event plan suggestions 122 for a particular eventplan detail 104 (e.g., indicating a mutual exclusivity of such eventplan suggestions 36), and may also indicate a selected event plansuggestion thereamong (e.g., by including an indication of alternativeevent plan suggestion votes 124 and/or recommendations 128).

As a second example of this fourth aspect, an event plan 34 may beassociated with one or more locations, and an event plan presentation 42of an event plan 34 may include an indication of the locations involvedin the event plan 34. As a first such example, FIG. 9 presents anillustration of an exemplary scenario 130 featuring a map 132 of variousevent plan suggestions 36 involved in an event plan 34 that includesindicators of the event locations 134. As a second such example, FIG. 10presents an illustration of an exemplary scenario 140 featuring a visualdepiction 142 of the event locations 134 associated with various eventplan suggestions 36 for an event plan 34. This visual depiction 142 maybe generated, e.g., based on images of the locations captured byindividuals and stored in an image database, or by synthesizing a visualdepiction thereof (e.g., a three-dimensional model of an eventlocation). Those of ordinary skill in the art may devise many ways ofpresenting an event plan 34 to a guest 32 while implementing thetechniques presented herein.

A fifth aspect that may vary among embodiments of these techniquesrelates to additional features that may be offered by the social network12 in relation to the event plan 34, and that may be included by thesocial network 12 in event plan presentations 42 of the event plans 34.As a first example, guests may submit event plan comments associatedwith an event plan 34 (and possibly associated with a particular eventplan detail 104 and/or event plan suggestion 36). Accordingly, thesocial network 12 may be configured to store received event plancomments in the data store 78 associated with the event plan 34, and topresent the event plan comments associated with the event plan 34 aspart of an event plan presentation 42. As a second example of this fifthaspect, guests 32 may submit event attendance indicators (e.g., RSVPindicators) associated with an event plan 34 to indicate whether or notthe guest 32 plans to attend the event 20. Accordingly, the socialnetwork 12 may be configured to store received event attendanceindicators in the data store 78 associated with the event plan 34, andto present the event attendance indicators associated with the eventplan 34 as part of an event plan presentation 42.

As a third example of this fifth aspect, the social network 12 mayreceive and utilize a location of a guest 32, and may use the guestlocation in the event plan presentation 42. The guest location maycomprise a current location of the guest 32 (e.g., detected by a globalpositioning service (GPS) receiver and reported to the social network12) or a probabilistic location of the guest 32 (e.g., an address of aresidence of a guest 32, or a location of the guest 32 identified basedon a calendar of the activities of the guest 32). The guest location maybe utilized, e.g., to include the guest location on a map 132 of theevent plan 34, and/or to present a route that may facilitate the guest32 in traveling to the event location.

FIG. 11 presents an illustration of an exemplary scenario 150 featuringan event plan presentation 42 that includes several of these features.As a first example, in addition to presenting the event plan suggestions36, the event plan presentation 42 includes a set of event attendanceindicators 152 (e.g., RSVP indicators) submitted by various guests 42 toindicate a planned attendance at or absence from the event 20. As asecond example, the event plan presentation 42 includes a set of eventplan comments 154 submitted by various guests 32 relating to the eventplan 34. As a third example, the event plan presentation 42 includes amap 132 including an indication of a guest location 156 of the guest 32to whom the event plan 34 is being presented, and a route 158 that mayfacilitate the guest 32 in reaching the event 20.

As a fourth example of this fifth aspect, if an event plan 34 involvesan event location 134, and if the social network 12 receives reports ofguest locations 156 of various guests 32 (e.g., from global positioningservice (GPS) receivers carried by respective guests 32), then thesocial network 12 may include the guest locations 156 in an event planpresentation 42. For example, the event plan presentation 42 may includea map 132 depicting the guest locations 156 recently detected for theguests 32. Additionally, if a proximity may be identified for the eventlocation 134, the guest locations 156 may be utilized to identify thepresence of guests 32 whose guest locations 156 are proximate to theevent location 134, and an absence of guests 32 whose guest locations156 are not proximate to the event location 134. For example, an eventplan presentation 42 of the event plan 34 may include a list of presentguests 32 and absent guests 32, and guests 32 may be notified when otherguests 32 arrive at or depart from the event 20, based on the detectedguest locations 156.

FIG. 12 presents an illustration of an exemplary scenario 160 featuringa “geofencing” aspect relating to a use of guest locations 156 inrelation to an event location 134 of an event 20 described by an eventplan 34. In this exemplary scenario 160, a map 132 may be generatedindicating the event location 134 of the event 20 as well as the guestlocations 156 of respective guests 32, as well as presence indicators164 indicating the presence or absence of the guests 32 (based on theproximity of the guest locations 156 with respect to the event location134). Additionally, when a first guest 32 enters the proximity of theevent location 134 (based on the first guest location reported to thesocial network 12), a notification 166, such as an email message or atext message, may be sent to a second guest to notify the second guestof the arrival of the first guest. Those of ordinary skill in the artmay devise many such additional features that may be added to the eventplanning of the social network 12 while implementing the techniquespresented herein.

Although the subject matter has been described in language specific tostructural features and/or methodological acts, it is to be understoodthat the subject matter defined in the appended claims is notnecessarily limited to the specific features or acts described above.Rather, the specific features and acts described above are disclosed asexample forms of implementing the claims.

As used in this application, the terms “component,” “module,” “system”,“interface”, and the like are generally intended to refer to acomputer-related entity, either hardware, a combination of hardware andsoftware, software, or software in execution. For example, a componentmay be, but is not limited to being, a process running on a processor, aprocessor, an object, an executable, a thread of execution, a program,and/or a computer. By way of illustration, both an application runningon a controller and the controller can be a component. One or morecomponents may reside within a process and/or thread of execution and acomponent may be localized on one computer and/or distributed betweentwo or more computers.

Furthermore, the claimed subject matter may be implemented as a method,apparatus, or article of manufacture using standard programming and/orengineering techniques to produce software, firmware, hardware, or anycombination thereof to control a computer to implement the disclosedsubject matter. The term “article of manufacture” as used herein isintended to encompass a computer program accessible from anycomputer-readable device, carrier, or media. Of course, those skilled inthe art will recognize many modifications may be made to thisconfiguration without departing from the scope or spirit of the claimedsubject matter.

FIG. 13 and the following discussion provide a brief, generaldescription of a suitable computing environment to implement embodimentsof one or more of the provisions set forth herein. The operatingenvironment of FIG. 13 is only one example of a suitable operatingenvironment and is not intended to suggest any limitation as to thescope of use or functionality of the operating environment. Examplecomputing devices include, but are not limited to, personal computers,server computers, hand-held or laptop devices, mobile devices (such asmobile phones, Personal Digital Assistants (PDAs), media players, andthe like), multiprocessor systems, consumer electronics, mini computers,mainframe computers, distributed computing environments that include anyof the above systems or devices, and the like.

Although not required, embodiments are described in the general contextof “computer readable instructions” being executed by one or morecomputing devices. Computer readable instructions may be distributed viacomputer readable media (discussed below). Computer readableinstructions may be implemented as program modules, such as functions,objects, Application Programming Interfaces (APIs), data structures, andthe like, that perform particular tasks or implement particular abstractdata types. Typically, the functionality of the computer readableinstructions may be combined or distributed as desired in variousenvironments.

FIG. 13 illustrates an example of a system 170 comprising a computingdevice 172 configured to implement one or more embodiments providedherein. In one configuration, computing device 172 includes at least oneprocessing unit 176 and memory 178. Depending on the exact configurationand type of computing device, memory 178 may be volatile (such as RAM,for example), non-volatile (such as ROM, flash memory, etc., forexample) or some combination of the two. This configuration isillustrated in FIG. 13 by dashed line 174.

In other embodiments, device 172 may include additional features and/orfunctionality. For example, device 172 may also include additionalstorage (e.g., removable and/or non-removable) including, but notlimited to, magnetic storage, optical storage, and the like. Suchadditional storage is illustrated in FIG. 13 by storage 180. In oneembodiment, computer readable instructions to implement one or moreembodiments provided herein may be in storage 180. Storage 180 may alsostore other computer readable instructions to implement an operatingsystem, an application program, and the like. Computer readableinstructions may be loaded in memory 178 for execution by processingunit 176, for example.

The term “computer readable media” as used herein includes computerstorage media. Computer storage media includes volatile and nonvolatile,removable and non-removable media implemented in any method ortechnology for storage of information such as computer readableinstructions or other data. Memory 178 and storage 180 are examples ofcomputer storage media. Computer storage media includes, but is notlimited to, RAM, ROM, EEPROM, flash memory or other memory technology,CD-ROM, Digital Versatile Disks (DVDs) or other optical storage,magnetic cassettes, magnetic tape, magnetic disk storage or othermagnetic storage devices, or any other medium which can be used to storethe desired information and which can be accessed by device 172. Anysuch computer storage media may be part of device 172.

Device 172 may also include communication connection(s) 186 that allowsdevice 172 to communicate with other devices. Communicationconnection(s) 186 may include, but is not limited to, a modem, a NetworkInterface Card (NIC), an integrated network interface, a radio frequencytransmitter/receiver, an infrared port, a USB connection, or otherinterfaces for connecting computing device 172 to other computingdevices. Communication connection(s) 186 may include a wired connectionor a wireless connection. Communication connection(s) 186 may transmitand/or receive communication media.

The term “computer readable media” may include communication media.Communication media typically embodies computer readable instructions orother data in a “modulated data signal” such as a carrier wave or othertransport mechanism and includes any information delivery media. Theterm “modulated data signal” may include a signal that has one or moreof its characteristics set or changed in such a manner as to encodeinformation in the signal.

Device 172 may include input device(s) 184 such as keyboard, mouse, pen,voice input device, touch input device, infrared cameras, video inputdevices, and/or any other input device. Output device(s) 182 such as oneor more displays, speakers, printers, and/or any other output device mayalso be included in device 172. Input device(s) 184 and output device(s)182 may be connected to device 172 via a wired connection, wirelessconnection, or any combination thereof. In one embodiment, an inputdevice or an output device from another computing device may be used asinput device(s) 184 or output device(s) 182 for computing device 172.

Components of computing device 172 may be connected by variousinterconnects, such as a bus. Such interconnects may include aPeripheral Component Interconnect (PCI), such as PCI Express, aUniversal Serial Bus (USB), firewire (IEEE 1394), an optical busstructure, and the like. In another embodiment, components of computingdevice 172 may be interconnected by a network. For example, memory 178may be comprised of multiple physical memory units located in differentphysical locations interconnected by a network.

Those skilled in the art will realize that storage devices utilized tostore computer readable instructions may be distributed across anetwork. For example, a computing device 200 accessible via network 188may store computer readable instructions to implement one or moreembodiments provided herein. Computing device 172 may access computingdevice 200 and download a part or all of the computer readableinstructions for execution. Alternatively, computing device 172 maydownload pieces of the computer readable instructions, as needed, orsome instructions may be executed at computing device 172 and some atcomputing device 200.

Various operations of embodiments are provided herein. In oneembodiment, one or more of the operations described may constitutecomputer readable instructions stored on one or more computer readablemedia, which if executed by a computing device, will cause the computingdevice to perform the operations described. The order in which some orall of the operations are described should not be construed as to implythat these operations are necessarily order dependent. Alternativeordering will be appreciated by one skilled in the art having thebenefit of this description. Further, it will be understood that not alloperations are necessarily present in each embodiment provided herein.

Moreover, the word “exemplary” is used herein to mean serving as anexample, instance, or illustration. Any aspect or design describedherein as “exemplary” is not necessarily to be construed as advantageousover other aspects or designs. Rather, use of the word exemplary isintended to present concepts in a concrete fashion. As used in thisapplication, the term “or” is intended to mean an inclusive “or” ratherthan an exclusive “or”. That is, unless specified otherwise, or clearfrom context, “X employs A or B” is intended to mean any of the naturalinclusive permutations. That is, if X employs A; X employs B; or Xemploys both A and B, then “X employs A or B” is satisfied under any ofthe foregoing instances. In addition, the articles “a” and “an” as usedin this application and the appended claims may generally be construedto mean “one or more” unless specified otherwise or clear from contextto be directed to a singular form.

Also, although the disclosure has been shown and described with respectto one or more implementations, equivalent alterations and modificationswill occur to others skilled in the art based upon a reading andunderstanding of this specification and the annexed drawings. Thedisclosure includes all such modifications and alterations and islimited only by the scope of the following claims. In particular regardto the various functions performed by the above described components(e.g., elements, resources, etc.), the terms used to describe suchcomponents are intended to correspond, unless otherwise indicated, toany component which performs the specified function of the describedcomponent (e.g., that is functionally equivalent), even though notstructurally equivalent to the disclosed structure which performs thefunction in the herein illustrated exemplary implementations of thedisclosure. In addition, while a particular feature of the disclosuremay have been disclosed with respect to only one of severalimplementations, such feature may be combined with one or more otherfeatures of the other implementations as may be desired and advantageousfor any given or particular application. Furthermore, to the extent thatthe terms “includes”, “having”, “has”, “with”, or variants thereof areused in either the detailed description or the claims, such terms areintended to be inclusive in a manner similar to the term “comprising.”

What is claimed is:
 1. A computer system, comprising: one or moreprocessors; and one or more computer-readable media having storedthereon instructions that are executable by the one or more processorsand that configure the computer system to generate a map user interfacecorresponding to an event plan, including instructions that configurethe computer system to perform at least the following: receive a requestto invite a plurality of users within a social network to an event;record each the plurality of users as invitees of the event; receive,from at least one of the invitees of the event, an event plan suggestionfor an event logistic comprising a suggested geographical location ofthe event; associate the suggested geographical location with the eventplan; identify a geographical location of each of a plurality ofcomputing devices based on geographical data received from eachcomputing device, each of the plurality of computing devicescorresponding to one of the plurality of users; generate a map userinterface, including (i) generating an event location indicator on themap user interface corresponding to the suggested geographical location,and (ii) generating a plurality of guest location indicators on the mapuser interface that each correspond to one of the plurality ofgeographical locations of the plurality of computing devices, includingindicating that a first one or more of the guest location indicatorsthat are within a predetermined distance from the suggested geographicallocation, and indicating that a second one or more of the guest locationindicators are outside of the predetermined distance from the suggestedgeographical location; detect that a particular computing device of theplurality of computing devices that is associated with a particularsecond guest location indicator had moved to a new geographical locationthat is within the predetermined distance from the suggestedgeographical location; and based at least on the particular computingdevice having moved to the new geographical location: update the mapuser interface, including (i) updating the particular second guestlocation indicator on the map user interface to reflect the newgeographical location of the particular computing device, and (ii)indicating that the particular second guest location indicator is nowwithin the predetermined distance from the suggested geographicallocation; and send a notification to at least one of the plurality ofcomputing devices apart from the particular computing device, thenotification indicating that a user associated with the particularcomputing device has arrived at the event.
 2. The computer system ofclaim 1, wherein receiving the request to invite the plurality of userswithin the social network to the event comprises receiving the identityof at least one contact group.
 3. The computer system of claim 1,wherein the event plan suggestion comprising at least one search resultgenerated by a search engine in response to a search query submitted bythe at least one of the invitees.
 4. The computer system of claim 3,wherein the at least one search result is generated by the search enginebased on both the search query and on at least one event plan suggestionassociated with at least one event logistic of the event plan.
 5. Thecomputer system of claim 1, wherein the event plan suggestion provides afurther suggestion for an event logistic of the event selected from anevent logistic set comprising: an event title logistic for a title ofthe event; an event venue logistic for the location of the event; and anevent activity logistic for at least one activity to be performed at theevent.
 6. The computer system of claim 1, also including instructionsthat configure the computer system to: identify an event plan templatefor an event type corresponding to the event, the event plan templatespecifying at least one event logistic of event plans based on the eventtype; and associate with the event plan the at least one event logisticsassociated with an event plan template for the recent type.
 7. Thecomputer system of claim 1, also including instructions that configurethe computer system to receive at least two alternative event plansuggestions associated with an event logistic.
 8. The computer system ofclaim 7, also including instructions that configure the computer systemto: among the at least two alternative event plan suggestions associatedwith the event logistic, select a selected event plan suggestionassociated with the event logistic; and present the selected event plansuggestion with the event logistic of the event plan.
 9. The computersystem of claim 8, also including instructions that configure thecomputer system to: responsive to receiving from an invitee analternative event plan suggestion vote for an alternative event plansuggestion for the event logistic, associate the event plan suggestionvote with the alternative event plan suggestion; and wherein selectingthe selected event plan suggestion of the event logistic is based on thealternative event plan suggestion votes associated with the respectivealternative event plan suggestions.
 10. The computer system of claim 8,wherein selecting the selected event plan suggestion further comprises:identifying, among the alternative event plan suggestions associatedwith the event logistic, a recommended alternative event plan suggestionfor the event logistic.
 11. The computer system of claim 1, alsoincluding instructions that configure the computer system to: responsiveto receive from an invitee an event plan comment, associate the eventplan comment with the event plan; and responsive to receiving from aninvitee a request to present the event plan, present one or more eventplan comments associated with the event plan.
 12. The computer system ofclaim 1, also including instructions that configure the computer systemto: responsive to receiving from an invitee an event attendanceindicator, associate the event attendance indicator with the invitee;and present one or more event attendance indicators of the invitees ofthe event plan.
 13. The computer system of claim 1, wherein the map userinterface is generated responsive to receiving from an invitee a requestto present a map of at least one event location associated with theevent plan.
 14. A method, implemented at a computer system that includesone or more processors, for generating a map user interfacecorresponding to an event plan, the method comprising: receiving arequest to invite a plurality of users within a social network to anevent; recording each the plurality of users as invitees of the event;receiving, from at least one of the invitees of the event, an event plansuggestion for an event logistic comprising a suggested geographicallocation of the event; associating the suggested geographical locationwith the event plan; identifying a geographical location of each of aplurality of computing devices based on geographical data received fromeach computing device, each of the plurality of computing devicescorresponding to one of the plurality of users; generating a map userinterface, including (i) generating an event location indicator on themap user interface corresponding to the suggested geographical location,and (ii) generating a plurality of guest location indicators on the mapuser interface that each correspond to one of the plurality ofgeographical locations of the plurality of computing devices, includingindicating that a first one or more of the guest location indicatorsthat are within a predetermined distance from the suggested geographicallocation, and indicating that a second one or more of the guest locationindicators are outside of the predetermined distance from the suggestedgeographical location; detecting that a particular computing device ofthe plurality of computing devices that is associated with a particularsecond guest location indicator has moved to a new geographical locationthat is within the predetermined distance from the suggestedgeographical location; and based at least on the particular computingdevice having moved to the new geographical location: updating the mapuser interface, including (i) updating the particular second guestlocation indicator on the map user interface to reflect the newgeographical location of the particular computing device, and (ii)indicating that the particular second guest location indicator is nowwithin the predetermined distance from the suggested geographicallocation; and sending a notification to at least one of the plurality ofcomputing devices apart from the particular computing device, thenotification indicating that a user associated with the particularcomputing device has arrived at the event.
 15. The method of claim 14,wherein the event plan suggestion further comprises at least one searchresult generated by a search engine in response to a search querysubmitted by the at least one of the invitees.
 16. The method of claim15, wherein the at least one search result is generated by the searchengine based on both the search query and on at least one event plansuggestion associated with at least one event logistic of the eventplan.
 17. The method of claim 14, further comprising: identifying anevent plan template for an event type corresponding to the event, theevent plan template specifying at least one event logistic of eventplans based on the event type; and associating with the event plan theat least one event logistics associated with an event plan template forthe event type.
 18. The method of claim 14, further comprising:responsive to receiving from an invitee an event attendance indicator,associating the event attendance indicator with the invitee; andpresenting one or more event attendance indicators of the invitees ofthe event plan.
 19. The method of claim 14, wherein the map userinterface is generated responsive to receiving from an invitee a requestto present a map of at least one event location associated with theevent plan.
 20. A computer program product comprising one or morecomputer readable hardware storage devices having stored thereoninstructions that are executable by one or more processors of a computersystem and that configure the computer system to generate a map userinterface corresponding to an event plan, including instructions thatconfigure the computer system to perform at least the following: receivea request to invite a plurality of users within a social network to anevent; record each the plurality of users as invitees of the event;receive, from at least one of the invitees of the event, an event plansuggestion for an event logistic comprising a suggested geographicallocation of the event; associate the suggested geographical locationwith the event plan; identify a geographical location of each of aplurality of computing devices based on geographical data received fromeach computing device, each of the plurality of computing devicescorresponding to one of the plurality of users; generate a map userinterface, including (i) generating an event location indicator on themap user interface corresponding to the suggested geographical location,and (ii) generating a plurality of guest location indicators on the mapuser interface that each correspond to one of the plurality ofgeographical locations of the plurality of computing devices, includingindicating that a first one or more of the guest location indicatorsthat are within a predetermined distance from the suggested geographicallocation, and indicating that a second one or more of the guest locationindicators are outside of the predetermined distance from the suggestedgeographical location; detect that a particular computing device of theplurality of computing devices that is associated with a particularsecond guest location indicator has moved to a new geographical locationthat is within the predetermined distance from the suggestedgeographical location; and based at least on the particular computingdevice having moved to the new geographical location: update the mapuser interface, including (i) updating the particular second guestlocation indicator on the map user interface to reflect the newgeographical location of the particular computing device, and (ii)indicating that the particular second guest location indicator is nowwithin the predetermined distance from the suggested geographicallocation; and send a notification to at least one of the plurality ofcomputing devices apart from the particular computing device, thenotification indicating that a user associated with the particularcomputing device has arrived at the event.